/**
 * 封装一个 icon 组件
 * 需求：
 * 1. 传入icon名称显示对应图标
 * 2. 传入callback回调，点击执行
 * 3. 传入className类名，控制字体图标样式
 */
// 元素类名动态绑定的包
import cn from 'classnames'
type Props = {
  icon: string // 字体图标
  onClick?: () => void // 点击执行回调
  className?: string //  类名
}
function Icon({ icon, onClick, className }: Props) {
  return (
    <svg className={cn('icon', className)} aria-hidden="true" onClick={onClick}>
      {/* 使用时，只需要将此处的 iconbtn_like_sel 替换为 icon 的名称即可*/}
      <use xlinkHref={`#${icon}`}></use>
    </svg>
  )
}

export default Icon
